# QueryResultSingler.java

    package org.codefilarete.stalactite.spring.repository.query.execution.reduce;

    import java.util.List;
    import java.util.function.Function;
    import java.util.function.Supplier;

    import org.codefilarete.stalactite.sql.result.Accumulators;

    public class QueryResultSingler<R, I> implements QueryResultReducer<R, I> {

    	public QueryResultSingler() {
    	}

    	@Override
    	public Function<Object[], R> adapt(Supplier<List<I>> resultSupplier) {
    		return objects -> (R) Accumulators.<I>getFirstUnique().collect(resultSupplier.get());
    	}

    }